#ifndef A8_REFLECT_HPP
#define A8_REFLECT_HPP

namespace a8
{
	namespace reflect
	{

		class Field
		{
		public:
			const char* field_name;
			int type; //int uint int64 uint64 double string MFMsg std::vector<x>
			int offset;
			a8::reflect::Class *generic_type;
			void (*vector_size)();
			void (*vector_encode)();
			void (*vector_decode)();
		};

		class Class
		{
		public:
			const char* class_name;

			a8::reflect::Field* GetDeclaredFields()
			{
				
			}
		};

	}
}

#endif
